home *** CD-ROM | disk | FTP | other *** search
Wrap
# Source Generated with Decompyle++ # File: in.pyc (Python 2.6) import warnings warnings.simplefilter('ignore', DeprecationWarning) warnings.simplefilter('ignore', SyntaxWarning) from reportlab.platypus.paragraph import Paragraph from reportlab.platypus.flowables import Preformatted, Image, HRFlowable from reportlab.platypus.doctemplate import * from reportlab.platypus import SimpleDocTemplate, Spacer from reportlab.platypus.tables import Table, TableStyle from reportlab.lib.pagesizes import letter, legal, A4 from reportlab.lib.units import inch from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet from reportlab.lib import colors from time import localtime, strftime warnings.simplefilter('default', DeprecationWarning) warnings.simplefilter('default', SyntaxWarning) if __name__ == '__main__': import sys sys.path.append('..') from base.g import * from base import utils PAGE_SIZE_LETTER = 'letter' PAGE_SIZE_LEGAL = 'legal' PAGE_SIZE_A4 = 'a4' def escape(s): return s.replace('&', '&').replace('>', '>').replace('<', '<') def createStandardCoverPage(page_size = PAGE_SIZE_LETTER, total_pages = 1, recipient_name = '', recipient_phone = '', recipient_fax = '', sender_name = '', sender_phone = '', sender_fax = '', sender_email = '', regarding = '', message = '', preserve_formatting = False, output = None): s = getSampleStyleSheet() story = [] ps = ParagraphStyle(name = 'title', parent = None, fontName = 'helvetica-bold', fontSize = 72) story.append(Paragraph('FAX', ps)) story.append(Spacer(1, inch)) ps = ParagraphStyle(name = 'normal', fontName = 'Times-Roman', fontSize = 12) recipient_name_label = Paragraph('To:', ps) recipient_name_text = Paragraph(escape(recipient_name[:64]), ps) recipient_fax_label = Paragraph('Fax:', ps) recipient_fax_text = Paragraph(escape(recipient_fax[:64]), ps) recipient_phone_label = Paragraph('Phone:', ps) recipient_phone_text = Paragraph(escape(recipient_phone[:64]), ps) sender_name_label = Paragraph('From:', ps) sender_name_text = Paragraph(escape(sender_name[:64]), ps) sender_phone_label = Paragraph('Phone:', ps) sender_phone_text = Paragraph(escape(sender_phone[:64]), ps) sender_email_label = Paragraph('Email:', ps) sender_email_text = Paragraph(escape(sender_email[:64]), ps) regarding_label = Paragraph('Regarding:', ps) regarding_text = Paragraph(escape(regarding[:128]), ps) date_time_label = Paragraph('Date:', ps) date_time_text = Paragraph(strftime('%a, %d %b %Y %H:%M:%S (%Z)', localtime()), ps) total_pages_label = Paragraph('Total Pages:', ps) total_pages_text = Paragraph('%d' % total_pages, ps) data = [ [ recipient_name_label, recipient_name_text, sender_name_label, sender_name_text], [ recipient_fax_label, recipient_fax_text, sender_phone_label, sender_phone_text], [ date_time_label, date_time_text, sender_email_label, sender_email_text], [ regarding_label, regarding_text, total_pages_label, total_pages_text]] LIST_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(HRFlowable(width = '100%', color = 'black')) story.append(Table(data, style = LIST_STYLE)) if message: MSG_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ('SPAN', (-2, 1), (-1, -1))]) story.append(HRFlowable(width = '100%', color = 'black')) story.append(Spacer(1, 0.5 * inch)) if preserve_formatting: message = '\n'.join(message[:2048].splitlines()[:32]) data = [ [ Paragraph('Comments/Notes:', ps), ''], [ Preformatted(escape(message), ps), '']] else: data = [ [ Paragraph('Comments/Notes:', ps), ''], [ Paragraph(escape(message[:2048]), ps), '']] story.append(HRFlowable(width = '100%', color = 'black')) story.append(Table(data, style = MSG_STYLE)) story.append(HRFlowable(width = '100%', color = 'black')) if page_size == PAGE_SIZE_LETTER: pgsz = letter elif page_size == PAGE_SIZE_LEGAL: pgsz = legal else: pgsz = A4 if output is None: (f_fd, f) = utils.make_temp_file() else: f = output doc = SimpleDocTemplate(f, pagesize = pgsz) doc.build(story) return f def createConfidentialCoverPage(page_size = PAGE_SIZE_LETTER, total_pages = 1, recipient_name = '', recipient_phone = '', recipient_fax = '', sender_name = '', sender_phone = '', sender_fax = '', sender_email = '', regarding = '', message = '', preserve_formatting = False, output = None): s = getSampleStyleSheet() story = [] story.append(Image(os.path.join(prop.image_dir, 'other', 'confidential_title.png'))) story.append(Spacer(1, inch)) story.append(HRFlowable(width = '100%', color = 'black')) ps = ParagraphStyle(name = 'normal', fontName = 'Times-Roman', fontSize = 12) recipient_name_label = Paragraph('To:', ps) recipient_name_text = Paragraph(escape(recipient_name[:64]), ps) recipient_fax_label = Paragraph('Fax:', ps) recipient_fax_text = Paragraph(escape(recipient_fax[:64]), ps) recipient_phone_label = Paragraph('Phone:', ps) recipient_phone_text = Paragraph(escape(recipient_phone[:64]), ps) sender_name_label = Paragraph('From:', ps) sender_name_text = Paragraph(escape(sender_name[:64]), ps) sender_phone_label = Paragraph('Phone:', ps) sender_phone_text = Paragraph(escape(sender_phone[:64]), ps) sender_email_label = Paragraph('Email:', ps) sender_email_text = Paragraph(escape(sender_email[:64]), ps) regarding_label = Paragraph('Regarding:', ps) regarding_text = Paragraph(escape(regarding[:128]), ps) date_time_label = Paragraph('Date:', ps) date_time_text = Paragraph(strftime('%a, %d %b %Y %H:%M:%S (%Z)', localtime()), ps) total_pages_label = Paragraph('Total Pages:', ps) total_pages_text = Paragraph('%d' % total_pages, ps) data = [ [ recipient_name_label, recipient_name_text], [ recipient_fax_label, recipient_fax_text], [ '', ''], [ sender_name_label, sender_name_text], [ sender_phone_label, sender_phone_text], [ sender_email_label, sender_email_text], [ '', ''], [ date_time_label, date_time_text], [ total_pages_label, total_pages_text], [ regarding_label, regarding_text]] LIST_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Table(data, style = LIST_STYLE)) story.append(HRFlowable(width = '100%', color = 'black')) if message: MSG_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Spacer(1, 0.5 * inch)) if preserve_formatting: message = '\n'.join(message[:2048].splitlines()[:32]) story.append(Preformatted(escape(message), ps)) else: story.append(Paragraph(escape(message), ps)) if page_size == PAGE_SIZE_LETTER: pgsz = letter elif page_size == PAGE_SIZE_LEGAL: pgsz = legal else: pgsz = A4 if output is None: (f_fd, f) = utils.make_temp_file() else: f = output doc = SimpleDocTemplate(f, pagesize = pgsz) doc.build(story) return f def createGenericCoverPage(page_size = PAGE_SIZE_LETTER, total_pages = 1, recipient_name = '', recipient_phone = '', recipient_fax = '', sender_name = '', sender_phone = '', sender_fax = '', sender_email = '', regarding = '', message = '', preserve_formatting = False, output = None): s = getSampleStyleSheet() story = [] i = Image(os.path.join(prop.image_dir, 'other', 'generic_title.png'), width = 250, height = 147) i.hAlign = 'LEFT' story.append(i) story.append(HRFlowable(width = '100%', color = 'black')) ps = ParagraphStyle(name = 'normal', fontName = 'Times-Roman', fontSize = 12) recipient_name_label = Paragraph('To:', ps) recipient_name_text = Paragraph(escape(recipient_name[:64]), ps) recipient_fax_label = Paragraph('Fax:', ps) recipient_fax_text = Paragraph(escape(recipient_fax[:64]), ps) recipient_phone_label = Paragraph('Phone:', ps) recipient_phone_text = Paragraph(escape(recipient_phone[:64]), ps) sender_name_label = Paragraph('From:', ps) sender_name_text = Paragraph(escape(sender_name[:64]), ps) sender_phone_label = Paragraph('Phone:', ps) sender_phone_text = Paragraph(escape(sender_phone[:64]), ps) sender_email_label = Paragraph('Email:', ps) sender_email_text = Paragraph(escape(sender_email[:64]), ps) regarding_label = Paragraph('Regarding:', ps) regarding_text = Paragraph(escape(regarding[:128]), ps) date_time_label = Paragraph('Date:', ps) date_time_text = Paragraph(strftime('%a, %d %b %Y %H:%M:%S (%Z)', localtime()), ps) total_pages_label = Paragraph('Total Pages:', ps) total_pages_text = Paragraph('%d' % total_pages, ps) data = [ [ recipient_name_label, recipient_name_text], [ recipient_fax_label, recipient_fax_text], [ '', ''], [ sender_name_label, sender_name_text], [ sender_phone_label, sender_phone_text], [ sender_email_label, sender_email_text], [ '', ''], [ date_time_label, date_time_text], [ total_pages_label, total_pages_text], [ regarding_label, regarding_text]] LIST_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Table(data, style = LIST_STYLE)) story.append(HRFlowable(width = '100%', color = 'black')) if message: MSG_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Spacer(1, 0.5 * inch)) if preserve_formatting: message = '\n'.join(message[:2048].splitlines()[:32]) story.append(Preformatted(escape(message), ps)) else: story.append(Paragraph(escape(message), ps)) if page_size == PAGE_SIZE_LETTER: pgsz = letter elif page_size == PAGE_SIZE_LEGAL: pgsz = legal else: pgsz = A4 if output is None: (f_fd, f) = utils.make_temp_file() else: f = output doc = SimpleDocTemplate(f, pagesize = pgsz) doc.build(story) return f def createUrgentCoverPage(page_size = PAGE_SIZE_LETTER, total_pages = 1, recipient_name = '', recipient_phone = '', recipient_fax = '', sender_name = '', sender_phone = '', sender_fax = '', sender_email = '', regarding = '', message = '', preserve_formatting = False, output = None): s = getSampleStyleSheet() story = [] i = Image(os.path.join(prop.image_dir, 'other', 'urgent_title.png'), width = 424, height = 92) i.hAlign = 'LEFT' story.append(i) story.append(Spacer(1, inch)) story.append(HRFlowable(width = '100%', color = 'black')) ps = ParagraphStyle(name = 'normal', fontName = 'Times-Roman', fontSize = 12) recipient_name_label = Paragraph('To:', ps) recipient_name_text = Paragraph(escape(recipient_name[:64]), ps) recipient_fax_label = Paragraph('Fax:', ps) recipient_fax_text = Paragraph(escape(recipient_fax[:64]), ps) recipient_phone_label = Paragraph('Phone:', ps) recipient_phone_text = Paragraph(escape(recipient_phone[:64]), ps) sender_name_label = Paragraph('From:', ps) sender_name_text = Paragraph(escape(sender_name[:64]), ps) sender_phone_label = Paragraph('Phone:', ps) sender_phone_text = Paragraph(escape(sender_phone[:64]), ps) sender_email_label = Paragraph('Email:', ps) sender_email_text = Paragraph(escape(sender_email[:64]), ps) regarding_label = Paragraph('Regarding:', ps) regarding_text = Paragraph(escape(regarding[:128]), ps) date_time_label = Paragraph('Date:', ps) date_time_text = Paragraph(strftime('%a, %d %b %Y %H:%M:%S (%Z)', localtime()), ps) total_pages_label = Paragraph('Total Pages:', ps) total_pages_text = Paragraph('%d' % total_pages, ps) data = [ [ recipient_name_label, recipient_name_text], [ recipient_fax_label, recipient_fax_text], [ '', ''], [ sender_name_label, sender_name_text], [ sender_phone_label, sender_phone_text], [ sender_email_label, sender_email_text], [ '', ''], [ date_time_label, date_time_text], [ total_pages_label, total_pages_text], [ regarding_label, regarding_text]] LIST_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Table(data, style = LIST_STYLE)) story.append(HRFlowable(width = '100%', color = 'black')) if message: MSG_STYLE = TableStyle([ ('ALIGN', (1, 1), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, -1), 'TOP')]) story.append(Spacer(1, 0.5 * inch)) if preserve_formatting: message = '\n'.join(message[:2048].splitlines()[:32]) story.append(Preformatted(escape(message), ps)) else: story.append(Paragraph(escape(message), ps)) if page_size == PAGE_SIZE_LETTER: pgsz = letter elif page_size == PAGE_SIZE_LEGAL: pgsz = legal else: pgsz = A4 if output is None: (f_fd, f) = utils.make_temp_file() else: f = output doc = SimpleDocTemplate(f, pagesize = pgsz) doc.build(story) return f COVERPAGES = { 'basic': (createStandardCoverPage, 'standard_coverpage.png'), 'confidential': (createConfidentialCoverPage, 'confidential_coverpage.png'), 'generic': (createGenericCoverPage, 'generic_coverpage.png'), 'urgent': (createUrgentCoverPage, 'urgent_coverpage.png') } if __name__ == '__main__': createUrgentCoverPage(page_size = PAGE_SIZE_LETTER, total_pages = 1, recipient_name = 'Trex', recipient_phone = '+1 234-567-8912', recipient_fax = '+1 432 123 1234', sender_name = 'Don', sender_phone = '+1 234 432 1234', sender_fax = '+1 567 876 5123 ', sender_email = 'test@hplip.sf.net', regarding = 'Some sorta stuff', message = 'Some HP printers require proprietary software technologies to allow full access to printer features and performance. These technologies cannot be open sourced. Because of this, HP uses a binary plug-in for these printers that work in conjunction with our Linux Open Source Printing Software to improve the printing experience for HP\xe2\x80\x99s Linux Printing Customers. This binary plug-in requires the user to read and agree to a license agreement at the time of driver installation. There is a single plug-in file (for each HPLIP release) for all plug-in enabled devices.', preserve_formatting = False, output = 'output.pdf')